ECOSTRESS Workshop Fall 2022

Importing Libraries

These are some built-in Python functions we need for this notebook, including functions for handling filenames and dates.

from os.path import join, abspath, basename, splitext
from glob import glob
from datetime import datetime, date, timedelta
from zipfile import ZipFile
import warnings

We’re using the rioxarray package for loading raster data from GeoTIFF files, and we’re importing it as rxr. We’re using the numpy library to handle arrays, and we’re importing it as np. We’re using the rasterstats package for zonal statistics.

!mamba install rasterstats -q -y
  Package              Version  Build               Channel                   Size
────────────────────────────────────────────────────────────────────────────────────
  Install:
────────────────────────────────────────────────────────────────────────────────────

  + rasterstats         0.17.0  pyhd8ed1ab_0        conda-forge/noarch        18kB
  + simplejson          3.17.6  py39hb9d737c_2      conda-forge/linux-64     107kB

  Change:
────────────────────────────────────────────────────────────────────────────────────

  - gdal                 3.5.0  py39hc691d54_4      installed                     
  + gdal                 3.5.0  py39h85832e7_4      conda-forge/linux-64       2MB
  - hdf5                1.12.1  nompi_h2386368_104  installed                     
  + hdf5                1.12.1  nompi_h4df4325_104  conda-forge/linux-64       4MB
  - krb5                1.19.3  h3790be6_0          installed                     
  + krb5                1.19.3  h08a2579_0          conda-forge/linux-64       2MB
  - libgdal              3.5.0  hc0ebe42_4          installed                     
  + libgdal              3.5.0  h59d0e54_4          conda-forge/linux-64      14MB
  - libnghttp2          1.47.0  h727a467_0          installed                     
  + libnghttp2          1.47.0  hff17c54_1          conda-forge/linux-64     844kB
  - libssh2             1.10.0  ha56f1ee_2          installed                     
  + libssh2             1.10.0  hf14f497_3          conda-forge/linux-64     239kB
  - pycurl              7.45.1  py39hd73adbb_2      installed                     
  + pycurl              7.45.1  py39h9297c8b_2      conda-forge/linux-64      75kB
  - python              3.9.13  h9a8a25e_0_cpython  installed                     
  + python              3.9.13  h2660328_0_cpython  conda-forge/linux-64      28MB
  - tiledb               2.9.5  h1e4a385_0          installed                     
  + tiledb               2.9.5  h3f4058f_0          conda-forge/linux-64       4MB

  Upgrade:
────────────────────────────────────────────────────────────────────────────────────

  - ca-certificates  2022.6.15  ha878542_0          installed                     
  + ca-certificates  2022.9.24  ha878542_0          conda-forge/linux-64     154kB
  - certifi          2022.6.15  py39hf3d152e_0      installed                     
  + certifi          2022.9.24  pyhd8ed1ab_0        conda-forge/noarch       159kB
  - cryptography        37.0.2  py39hd97740a_0      installed                     
  + cryptography        38.0.3  py39h3ccb8fc_0      conda-forge/linux-64       2MB
  - curl                7.83.1  h7bff187_0          installed                     
  + curl                7.85.0  h2283fc2_0          conda-forge/linux-64      93kB
  - libcurl             7.83.1  h7bff187_0          installed                     
  + libcurl             7.85.0  h2283fc2_0          conda-forge/linux-64     359kB
  - libpq                 14.4  hd77ab85_0          installed                     
  + libpq                 14.5  he2d8382_0          conda-forge/linux-64       3MB
  - libzip               1.8.0  h4de3113_1          installed                     
  + libzip               1.9.2  hc929e4a_1          conda-forge/linux-64      99kB
  - openssl             1.1.1p  h166bdaf_0          installed                     
  + openssl              3.0.7  h166bdaf_0          conda-forge/linux-64       3MB
  - postgresql            14.4  hfdbbde3_0          installed                     
  + postgresql            14.5  ha7cec9f_0          conda-forge/linux-64       6MB

  Summary:

  Install: 2 packages
  Change: 9 packages
  Upgrade: 9 packages

  Total download: 69MB

────────────────────────────────────────────────────────────────────────────────────

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
import rioxarray as rxr
import numpy as np
from rasterstats import zonal_stats

We’re using the geopandas library to load vector data from GeoJSON files, and we’re importing it as gpd. We’re using the shapely library to handle vector data and the pyproj library to handle projections.

import geopandas as gpd
from shapely.geometry import Point, box
from shapely.ops import transform
from pyproj import Transformer

We’re using the pandas library to handle tables, and we’re importing it as pd.

import pandas as pd

We’re using the seaborn library to produce our graphs, and we’re importing it as sns. We’re using the hvplot library to produce our maps. We’re using the matplotlib library to handle plotting figures, and we’re importing it as plt.

import seaborn as sns
import hvplot.xarray
import hvplot.pandas
import matplotlib.pyplot as plt

Defining Constants

These constants define the dimensions of our figures. Feel free to adjust these to fit your display.

FIG_WIDTH_PX = 1080
FIG_HEIGHT_PX = 720
FIG_WIDTH_IN = 16
FIG_HEIGHT_IN = 9
FIG_ALPHA = 0.7
BASEMAP = "ESRI"
SEABORN_STYLE = "whitegrid"
sns.set_style(SEABORN_STYLE)

This is the location of the example ECOSTRESS Collection 2 product files.

DATA_DIRECTORY = "/home/jovyan/shared/2022-fall-ecostress-workshop"
print(f"data directory: {DATA_DIRECTORY}")
data directory: /home/jovyan/shared/2022-fall-ecostress-workshop

Loading an ECOSTRESS Collection 2 Granule

First, let’s trying opening a data layer from a product file.

filename = DATA_DIRECTORY + "/ECOv002_L2T_LSTE_12139_005_11SKU_20200826T191453_0700_01.zip"
print(f"example L2T LSTE file: {filename}")
example L2T LSTE file: /home/jovyan/shared/2022-fall-ecostress-workshop/ECOv002_L2T_LSTE_12139_005_11SKU_20200826T191453_0700_01.zip

The granule ID for this granule can be parsed from the filename by dropping the .zip extension.

granule_ID = splitext(basename(filename))[0]
print(f"granule ID: {granule_ID}")
granule ID: ECOv002_L2T_LSTE_12139_005_11SKU_20200826T191453_0700_01

This product bundle, stored in zip format, contains a number of files, including raster data layers in GeoTIFF format as .tif files, and GeoJPEG browse images as .jpeg files. The GeoTIFF files can be loaded into GIS software, such as QGIS and ArcGIS. The GeoJPEG files can be loaded into Google Earth.

with ZipFile(filename) as zip_file:
    for internal_file in zip_file.filelist:
        print(internal_file.filename)
BadZipFile: File is not a zip file

The ECOSTRESS Collection 2 tiled products include metadata in JSON format as a .json text file.

with ZipFile(filename) as zip_file:
    metadata = zip_file.read(f"{granule_ID}/{granule_ID}.json").decode()

print(metadata)
{
  "StandardMetadata": {
    "AncillaryInputPointer": "AncillaryNWP",
    "AutomaticQualityFlag": "PASS",
    "AutomaticQualityFlagExplanation": "Image matching performed to correct orbit ephemeris/attitude",
    "BuildID": "0700",
    "CRS": "+proj=utm +zone=11 +datum=WGS84 +units=m +no_defs +type=crs",
    "CampaignShortName": "Primary",
    "CollectionLabel": "ECOv002",
    "DataFormatType": "COG",
    "DayNightFlag": "Day",
    "EastBoundingCoordinate": -119.06581640006657,
    "FieldOfViewObstruction": "unknown",
    "ImageLineSpacing": 70.0,
    "ImageLines": 1568,
    "ImagePixelSpacing": 70.0,
    "ImagePixels": 1568,
    "InputPointer": "ECOv002_L2_LSTE_22387_011_20220617T215819_0700_01.h5,ECOv002_L2_CLOUD_22387_011_20220617T215819_0700_01.h5,ECOSTRESS_L1B_GEO_22387_011_20220617T215819_0601_01.h5,ECOSTRESS_L1B_RAD_22387_011_20220617T215819_0601_01.h5",
    "InstrumentShortName": "ECOSTRESS",
    "LocalGranuleID": "ECOv002_L3T_JET_22387_011_11SKU_20220617T215819_0700_01.zip",
    "LongName": "ECOSTRESS Tiled Evapotranspiration Ensemble Instantaneous and Daytime L3 Global 70 m",
    "NorthBoundingCoordinate": 35.22502010920582,
    "PGEName": "L3T_L4T_JET",
    "PGEVersion": "v1.4.8",
    "PlatformLongName": "ISS",
    "PlatformShortName": "ISS",
    "PlatformType": "Spacecraft",
    "ProcessingEnvironment": "Linux ceb79f540da6 3.10.0-1160.66.1.el7.x86_64 #1 SMP Wed May 18 16:02:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux",
    "ProcessingLevelDescription": "Level 3 Tiled Evapotranspiration Ensemble",
    "ProcessingLevelID": "L3T",
    "ProducerAgency": "JPL",
    "ProducerInstitution": "Caltech",
    "ProductionDateTime": "2022-10-25T21:39:28.975Z",
    "ProductionLocation": "ECOSTRESS Science Computing Facility",
    "RangeBeginningDate": "2022-06-17",
    "RangeBeginningTime": "21:58:19.929775",
    "RangeEndingDate": "2022-06-17",
    "RangeEndingTime": "21:59:11.900024",
    "RegionID": "11SKU",
    "SISName": "Level 3/4 JET Product Specification Document",
    "SISVersion": "Preliminary",
    "SceneBoundaryLatLonWKT": "POLYGON ((-122.91679849347318 36.98583577347708, -120.16328012620973 40.20637371131396, -117.02446217331683 38.04420848672155, -119.81948100354185 34.92253448622397, -122.91679849347318 36.98583577347708))",
    "SceneID": "011",
    "ShortName": "ECO_L3T_JET",
    "SouthBoundingCoordinate": 34.210027193369996,
    "StartOrbitNumber": "22387",
    "StopOrbitNumber": "22387",
    "WestBoundingCoordinate": -120.29518354417259
  },
  "ProductMetadata": {
    "BandSpecification": [
      0.0,
      0.0,
      8.779999732971191,
      0.0,
      10.520000457763672,
      12.0
    ],
    "NumberOfBands": 3,
    "OrbitCorrectionPerformed": "True",
    "QAPercentCloudCover": 2.0684334001457727,
    "QAPercentGoodQuality": 2.2481680810079174,
    "AncillaryNWP": "GEOS.fp.asm.inst3_2d_asm_Nx.20220617_2100.V01.nc4,GEOS.fp.asm.inst3_2d_asm_Nx.20220618_0000.V01.nc4,GEOS.fp.asm.tavg1_2d_lnd_Nx.20220617_2130.V01.nc4,GEOS.fp.asm.tavg1_2d_lnd_Nx.20220617_2230.V01.nc4,GEOS.fp.asm.tavg1_2d_rad_Nx.20220617_2130.V01.nc4,GEOS.fp.asm.tavg1_2d_rad_Nx.20220617_2230.V01.nc4,GEOS.fp.asm.tavg1_2d_slv_Nx.20220617_2130.V01.nc4,GEOS.fp.asm.tavg1_2d_slv_Nx.20220617_2230.V01.nc4,GEOS.fp.asm.tavg3_2d_aer_Nx.20220617_1930.V01.nc4,GEOS.fp.asm.tavg3_2d_aer_Nx.20220617_2230.V01.nc4,GEOS.fp.asm.tavg3_2d_chm_Nx.20220617_1930.V01.nc4,GEOS.fp.asm.tavg3_2d_chm_Nx.20220617_2230.V01.nc4"
  }
}

To open the temperature layer of this file, we’ll form a Universion Resource Identifier (URI) with the pattern: zip://{filename}!/{granule_ID}/{granule_ID}_{variable}.tif

URI = f"zip://{abspath(filename)}!/{granule_ID}/{granule_ID}_LST.tif"
print(f"URI: {URI}")
URI: zip:///Users/halverso/Desktop/2022-Fall-ECOSTRESS-Cloud-Workshop/data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12139_005_11SKU_20200826T191453_0700_01.zip!/ECOv002_L2T_LSTE_12139_005_11SKU_20200826T191453_0700_01/ECOv002_L2T_LSTE_12139_005_11SKU_20200826T191453_0700_01_LST.tif

We’re using rioxarray to open the surface temperature layer from the L2T_LSTE product on the 11SKU tile covering the Carpinteria Salt Marsh. We’re passing the URI pointing to the GeoTIFF file contained within this zip file. If you unzip this product bundle or download the GeoTIFF file on its own, you can pass the filename of the GeoTIFF file directly into rioxarray.

ST_K_raster = rxr.open_rasterio(URI).squeeze('band', drop=True)
ST_K_raster
<xarray.DataArray (y: 1568, x: 1568)>
[2458624 values with dtype=float32]
Coordinates:
  * x            (x) float64 2e+05 2.001e+05 2.002e+05 ... 3.096e+05 3.097e+05
  * y            (y) float64 3.9e+06 3.9e+06 3.9e+06 ... 3.79e+06 3.79e+06
    spatial_ref  int64 0
Attributes:
    AREA_OR_POINT:  Area
    _FillValue:     nan
    scale_factor:   1.0
    add_offset:     0.0

This xarray.DataArray object contains both an array of image values and spatial metadata. The rioxarray package extends xarray with a .rio attribute containing the metadata. Here we’re examining the coordinate reference system (CRS) of this image in the rioxarray metadata.

CRS = ST_K_raster.rio.crs
CRS.to_wkt()
'PROJCS["WGS 84 / UTM zone 11N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32611"]]'

This image is projected in UTM zone 11 north. Distances in this projection system are in meters. All tiled ECOSTRESS products are projected in UTM, but tiles are projected into different UTM zones, depending on where they are in the world.

We can also check the spatial resolution of the grid cells in this image in the .rio metadata.

cell_width, cell_height = ST_K_raster.rio.resolution()
print(f"cell width: {cell_width} cell height: {cell_height}")
cell width: 70.0 cell height: -70.0

This image is projected with 70m square pixels, as are all tiled ECOSTRESS products.

To know the observation time for this granule, we’re parsing the timestamp from the filename. This timestamp is given as Coordinated Universal Time (UTC).

datetime_UTC = datetime.strptime(basename(filename).split("_")[-3], "%Y%m%dT%H%M%S")
print(f"date/time UTC: {datetime_UTC:%Y-%m-%d %H:%M:%S}")
date/time UTC: 2020-08-26 19:14:53

We want to know the centroid coordinate of this tile so that we can adjust the UTC time given to solar apparent time. We’re calculating the centroid as the average of x coordinate values and average of y coordinate values.

centroid_UTM = Point(np.nanmean(ST_K_raster.x), np.nanmean(ST_K_raster.y))
print(f"centroid UTM: {centroid_UTM}")
centroid UTM: POINT (254860 3845120)

This centroid coordinate is in meters. We want to convert these projected x and y values in meters to geographic latitude and longitude in degress.

centroid_latlon = transform(Transformer.from_crs(CRS, "EPSG:4326", always_xy=True).transform, centroid_UTM)
print(f"centroid lat/lon: {centroid_latlon.wkt}")
centroid lat/lon: POINT (-119.67694453530225 34.71877480226906)

We’re shifting the UTC time to local time according to longitude.

datetime_solar = datetime_UTC + timedelta(hours=(np.radians(centroid_latlon.x) / np.pi * 12))
print(f"date/time solar: {datetime_solar:%Y-%m-%d %H:%M:%S}")
date/time solar: 2020-08-26 11:16:10

The hvplot package extends xarray to allow us to plot maps. We’re reprojecting the raster geographic projection EPSG 4326 to overlay on the basemap with a latitude and longitude graticule. We’re using the jet color scheme to render temperature with a rainbow of colors with red meaning hot and blue meaning cool. We’re setting the alpha to make the raster semi-transparent on top of the basemap. We’re filtering out values lower than the 2% percentile and higher than the 98% percentile to make the variation in the image more visible.

ST_CMAP = "jet"

ST_K_map = ST_K_raster.rio.reproject("EPSG:4326").hvplot.image(
    geo=True,
    cmap=ST_CMAP,
    tiles=BASEMAP,
    alpha=FIG_ALPHA,
    width=FIG_WIDTH_PX,
    height=FIG_HEIGHT_PX,
    clim=(ST_K_raster.quantile(0.02), ST_K_raster.quantile(0.98)),
    title=f"{granule_ID} Surface Temperature (Kelvin)"
)

ST_K_map = ST_K_map.options(xlabel="Longitude", ylabel="Latitude")

ST_K_map
Unable to display output for mime type(s): 

The temperatures in the L2T_LSTE product are given in Kelvin. To convert them to Celsius, we subtract 273.15.

ST_C_raster = ST_K_raster.copy()
ST_C_raster.data = ST_K_raster.data - 273.15

ST_C_map = ST_C_raster.rio.reproject("EPSG:4326").hvplot.image(
    geo=True,
    cmap=ST_CMAP,
    tiles=BASEMAP,
    alpha=FIG_ALPHA,
    width=FIG_WIDTH_PX,
    height=FIG_HEIGHT_PX,
    clim=(ST_C_raster.quantile(0.02), ST_C_raster.quantile(0.98)),
    title=f"{granule_ID} Surface Temperature (Celsius)"
)

ST_C_map = ST_C_map.options(xlabel="Longitude", ylabel="Latitude")

ST_C_map
Unable to display output for mime type(s): 

Including Vector Data in Analysis

We want to analyze the ECOSTRESS images using the Carpinteria Salt Marsh Habitat Polygons provided by the USGS. This dataset is included here in GeoJSON format, which we’ll load using the geopandas package.

landcover_latlon = gpd.read_file("landcover.geojson")
landcover_latlon
type geometry
0 channel MULTIPOLYGON (((-119.54125 34.40462, -119.5412...
1 salt flat MULTIPOLYGON (((-119.52907 34.39633, -119.5290...
2 upland MULTIPOLYGON (((-119.54524 34.40555, -119.5452...
3 pan MULTIPOLYGON (((-119.52924 34.39675, -119.5292...
4 marsh MULTIPOLYGON (((-119.54162 34.40421, -119.5416...

To align this vector dataset with the raster datasets, we need to project it to the UTM projection used for the rasters.

landcover_UTM = landcover_latlon.to_crs(ST_C_raster.rio.crs)
landcover_UTM
type geometry
0 channel MULTIPOLYGON (((266411.292 3809949.479, 266413...
1 salt flat MULTIPOLYGON (((267508.823 3809001.087, 267507...
2 upland MULTIPOLYGON (((266047.180 3810061.018, 266050...
3 pan MULTIPOLYGON (((267493.755 3809048.925, 267493...
4 marsh MULTIPOLYGON (((266376.639 3809904.329, 266376...

This vector dataset contains polygons classifying the surface of the Carpinteria Salt Marsh into channel, salt flat, upland, pan, and marsh.

landcover_colors = {
    "channel": "blue",
    "marsh": "yellow",
    "pan": "green",
    "salt flat": "white",
    "upland": "brown"
}

landcover_map = landcover_latlon.to_crs("EPSG:4326").hvplot.polygons(
    geo=True,
    color=landcover_UTM["type"].apply(lambda type: landcover_colors[type]),
    tiles=BASEMAP,
    alpha=FIG_ALPHA,
    width=FIG_WIDTH_PX,
    height=FIG_HEIGHT_PX,
    title="Carpinteria Salt Marsh Habitat Polygons"
)

landcover_map = landcover_map.options(xlabel="Longitude", ylabel="Latitude")
landcover_map
/Users/halverso/opt/anaconda3/envs/workshop/lib/python3.10/site-packages/geoviews/operation/projection.py:79: ShapelyDeprecationWarning: Iteration over multi-part geometries is deprecated and will be removed in Shapely 2.0. Use the `geoms` property to access the constituent parts of a multi-part geometry.
  polys = [g for g in geom if g.area > 1e-15]
Unable to display output for mime type(s): 

To compare the raster image to the vector dataset, we want to subset the raster to the bounds of the vector dataset. We’re getting the bounds of our study area in meters from the convex hull of our land-cover polygons with a 100 meter buffer.

xmin, ymin, xmax, ymax = landcover_UTM.unary_union.convex_hull.buffer(100).bounds
xmin, ymin, xmax, ymax
(265919.01794257906, 3808815.144350472, 267879.6396515569, 3810161.472477569)

We’re using this bounding box obtained from the extent of the vector dataset to clip the extent of the raster dataset. Now we can look at the ECOSTRESS surface temperature over the Carpinteria Salt Marsh.

ST_C_subset = ST_C_raster.rio.clip([box(xmin, ymin, xmax, ymax)])

ST_C_subset_map = ST_C_subset.rio.reproject("EPSG:4326").hvplot.image(
    geo=True,
    cmap=ST_CMAP,
    tiles=BASEMAP,
    alpha=FIG_ALPHA,
    width=FIG_WIDTH_PX,
    height=FIG_HEIGHT_PX,
    clim=(ST_C_subset.quantile(0.02), ST_C_subset.quantile(0.98)),
    title = "Carpinteria Salt Marsh Surface Temperature (Celsius)"
)

ST_C_subset_map = ST_C_subset_map.options(xlabel="Longitude", ylabel="Latitude")
ST_C_subset_map
Unable to display output for mime type(s): 

We’re comparing the raster dataset to the polygon dataset by calculating zonal statistics with the rasterstats package.

landcover_stats = pd.DataFrame(zonal_stats(
    landcover_UTM,
    ST_C_subset.data,
    affine=ST_C_subset.rio.transform(),
    nodata=np.nan,
    stats=["min", "median", "max"]
))

landcover_stats["type"] = landcover_UTM["type"]
landcover_stats["variable"] = "ST_C"
landcover_stats["datetime_solar"] = datetime_solar
landcover_stats = landcover_stats[["type", "variable", "datetime_solar", "min", "median", "max"]]
landcover_stats
type variable datetime_solar min median max
0 channel ST_C 2020-08-26 11:16:10.533312 28.649994 31.070007 36.850006
1 salt flat ST_C 2020-08-26 11:16:10.533312 31.110016 34.529999 37.170013
2 upland ST_C 2020-08-26 11:16:10.533312 30.130005 34.950012 38.750000
3 pan ST_C 2020-08-26 11:16:10.533312 28.510010 32.149994 38.270020
4 marsh ST_C 2020-08-26 11:16:10.533312 28.510010 31.369995 37.070007

Loading a Time-Series of ECOSTRESS Files in Bulk

We’re using the built-in glob function to search for L2T_LSTE filenames in our downloaded collection of ECOSTRESS files.

L2T_LSTE_filenames = sorted(glob(join(DATA_DIRECTORY, "*_L2T_LSTE_*.zip")))
L2T_LSTE_filenames
['../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_08825_001_11SKU_20200126T002103_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_08886_001_11SKU_20200129T224753_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09008_001_11SKU_20200206T194050_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09104_012_11SKU_20200213T004053_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09130_001_11SKU_20200214T163344_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09150_013_11SKU_20200215T235451_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09516_010_11SKU_20200310T143221_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09740_001_11SKU_20200325T005731_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09801_001_11SKU_20200328T232451_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09862_001_11SKU_20200401T215211_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09923_001_11SKU_20200405T202021_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10019_010_11SKU_20200412T012318_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10060_001_11SKU_20200414T162940_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10080_015_11SKU_20200415T235114_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10121_001_11SKU_20200418T145755_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10141_013_11SKU_20200419T221907_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10182_001_11SKU_20200422T132414_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10202_012_11SKU_20200423T204504_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10324_012_11SKU_20200501T173635_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10655_001_11SKU_20200523T013719_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10716_001_11SKU_20200527T000255_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10777_001_11SKU_20200530T222828_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10838_001_11SKU_20200603T205400_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10899_001_11SKU_20200607T191919_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10919_012_11SKU_20200609T023948_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10934_013_11SKU_20200610T015203_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10980_012_11SKU_20200613T010521_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10995_004_11SKU_20200614T001724_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11021_001_11SKU_20200615T161002_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11041_014_11SKU_20200616T233014_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11056_007_11SKU_20200617T224237_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11082_001_11SKU_20200619T143523_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11102_013_11SKU_20200620T215537_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11117_006_11SKU_20200621T210737_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11143_001_11SKU_20200623T130041_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11163_010_11SKU_20200624T202055_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11178_012_11SKU_20200625T193257_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11224_007_11SKU_20200628T184603_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11224_008_11SKU_20200628T184655_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11407_014_11SKU_20200710T140339_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11407_015_11SKU_20200710T140431_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11570_001_11SKU_20200721T015918_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11616_001_11SKU_20200724T011211_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11631_001_11SKU_20200725T002428_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11677_001_11SKU_20200727T233715_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11738_001_11SKU_20200731T220318_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11799_001_11SKU_20200804T202950_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11860_002_11SKU_20200808T185624_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11895_012_11SKU_20200811T012953_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11921_003_11SKU_20200812T172251_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11956_009_11SKU_20200814T235617_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11982_002_11SKU_20200816T154913_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12043_002_11SKU_20200820T141537_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12078_012_11SKU_20200822T204904_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12139_005_11SKU_20200826T191453_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12200_006_11SKU_20200830T174050_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12200_007_11SKU_20200830T174142_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12261_006_11SKU_20200903T160702_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12261_007_11SKU_20200903T160754_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12322_008_11SKU_20200907T143314_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12322_009_11SKU_20200907T143406_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12531_003_11SKU_20200921T014818_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12592_001_11SKU_20200925T001530_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12653_004_11SKU_20200928T224329_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12668_005_11SKU_20200929T215616_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12714_004_11SKU_20201002T211124_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12729_003_11SKU_20201003T202421_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12775_004_11SKU_20201006T193901_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12790_005_11SKU_20201007T185136_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12836_003_11SKU_20201010T180517_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12871_012_11SKU_20201013T003732_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12871_013_11SKU_20201013T003824_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12897_003_11SKU_20201014T163113_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12912_003_11SKU_20201015T154331_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12932_012_11SKU_20201016T230328_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12932_013_11SKU_20201016T230421_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12993_012_11SKU_20201020T212919_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12993_013_11SKU_20201020T213011_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13054_009_11SKU_20201024T195506_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13054_010_11SKU_20201024T195558_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13115_010_11SKU_20201028T182051_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13115_011_11SKU_20201028T182143_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13176_003_11SKU_20201101T164629_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13176_004_11SKU_20201101T164721_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13237_012_11SKU_20201105T151255_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13568_001_11SKU_20201126T231758_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13629_001_11SKU_20201130T214441_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13751_001_11SKU_20201208T183734_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13847_012_11SKU_20201214T233712_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13893_006_11SKU_20201217T225123_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13908_007_11SKU_20201218T220331_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13954_012_11SKU_20201221T211655_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13969_013_11SKU_20201222T202946_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14015_008_11SKU_20201225T194306_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14076_009_11SKU_20201229T180922_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14091_012_11SKU_20201230T172204_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14137_011_11SKU_20210102T163522_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14152_005_11SKU_20210103T154810_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14483_003_11SKU_20210124T235211_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14544_003_11SKU_20210128T221939_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14666_003_11SKU_20210205T191410_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14727_004_11SKU_20210209T174124_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14747_011_11SKU_20210211T010216_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14788_003_11SKU_20210213T160839_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14808_002_11SKU_20210214T232930_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14823_011_11SKU_20210215T224228_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14884_009_11SKU_20210219T210839_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14884_010_11SKU_20210219T210931_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14945_012_11SKU_20210223T193640_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15006_002_11SKU_20210227T180246_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15006_003_11SKU_20210227T180338_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15067_013_11SKU_20210303T163037_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15128_012_11SKU_20210307T145729_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15399_001_11SKU_20210325T003939_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15460_003_11SKU_20210328T230652_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15521_003_11SKU_20210401T213401_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15644_003_11SKU_20210409T182905_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15705_003_11SKU_20210413T165635_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15740_006_11SKU_20210415T232949_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15740_007_11SKU_20210415T233041_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15766_003_11SKU_20210417T152402_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15801_011_11SKU_20210419T215715_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15801_012_11SKU_20210419T215807_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15862_013_11SKU_20210423T202526_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15923_012_11SKU_20210427T185153_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15923_013_11SKU_20210427T185245_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15984_012_11SKU_20210501T171900_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15984_013_11SKU_20210501T171952_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16045_012_11SKU_20210505T154652_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16271_003_11SKU_20210520T021358_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16317_003_11SKU_20210523T012832_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16332_001_11SKU_20210524T004111_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16378_004_11SKU_20210526T235552_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16393_004_11SKU_20210527T230830_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16439_002_11SKU_20210530T222305_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16454_004_11SKU_20210531T213545_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16501_003_11SKU_20210603T205023_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16516_003_11SKU_20210604T200301_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16551_012_11SKU_20210607T023615_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16562_004_11SKU_20210607T191736_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16577_004_11SKU_20210608T183014_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16623_005_11SKU_20210611T174439_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16638_005_11SKU_20210612T165722_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16658_016_11SKU_20210614T001803_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16700_001_11SKU_20210616T152428_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16720_016_11SKU_20210617T224508_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16735_011_11SKU_20210618T215733_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16781_013_11SKU_20210621T211207_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16781_014_11SKU_20210621T211259_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16796_003_11SKU_20210622T202434_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16807_005_11SKU_20210623T130548_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16842_007_11SKU_20210625T193923_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16842_008_11SKU_20210625T194015_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16857_009_11SKU_20210626T185220_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16903_015_11SKU_20210629T180745_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16918_011_11SKU_20210630T172039_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16979_014_11SKU_20210704T154838_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17025_013_11SKU_20210707T150321_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17025_014_11SKU_20210707T150413_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17040_014_11SKU_20210708T141641_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17188_005_11SKU_20210718T030531_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17249_001_11SKU_20210722T013317_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17310_003_11SKU_20210726T000059_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17371_001_11SKU_20210729T222824_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17432_001_11SKU_20210802T205549_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17432_002_11SKU_20210802T205641_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17494_001_11SKU_20210806T192326_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17494_002_11SKU_20210806T192418_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17509_003_11SKU_20210807T183603_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17529_003_11SKU_20210809T015711_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17529_004_11SKU_20210809T015803_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17556_004_11SKU_20210810T175101_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17571_002_11SKU_20210811T170335_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17591_015_11SKU_20210813T002437_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17591_016_11SKU_20210813T002529_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17617_005_11SKU_20210814T161828_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17632_001_11SKU_20210815T153100_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17652_003_11SKU_20210816T225242_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17679_001_11SKU_20210818T144553_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17694_002_11SKU_20210819T135829_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17775_014_11SKU_20210824T194846_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17851_008_11SKU_20210829T173013_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17898_014_11SKU_20210901T164550_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17913_013_11SKU_20210902T155853_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17959_014_11SKU_20210905T151438_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17974_003_11SKU_20210906T142728_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18183_002_11SKU_20210920T014841_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18244_002_11SKU_20210924T001802_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18305_005_11SKU_20210927T224557_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18366_005_11SKU_20211001T211315_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18366_006_11SKU_20211001T211407_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18381_003_11SKU_20211002T202552_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18381_004_11SKU_20211002T202644_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18427_004_11SKU_20211005T194033_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18427_005_11SKU_20211005T194125_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18488_005_11SKU_20211009T180754_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18488_006_11SKU_20211009T180845_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18503_003_11SKU_20211010T172028_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18503_004_11SKU_20211010T172120_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18523_014_11SKU_20211012T004126_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18523_015_11SKU_20211012T004218_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18550_001_11SKU_20211013T163533_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18565_003_11SKU_20211014T154818_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18565_004_11SKU_20211014T154910_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18585_014_11SKU_20211015T231014_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18611_005_11SKU_20211017T150348_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18626_003_11SKU_20211018T141630_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18646_015_11SKU_20211019T213747_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18646_016_11SKU_20211019T213839_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18707_010_11SKU_20211023T200631_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18769_011_11SKU_20211027T183419_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18784_013_11SKU_20211028T174624_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18830_002_11SKU_20211031T170113_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18830_003_11SKU_20211031T170205_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18845_013_11SKU_20211101T161406_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18891_015_11SKU_20211104T152907_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18906_005_11SKU_20211105T144122_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19176_003_11SKU_20211123T002751_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19237_005_11SKU_20211126T225615_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19359_001_11SKU_20211204T195235_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19481_004_11SKU_20211212T164644_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19516_011_11SKU_20211214T232026_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19542_001_11SKU_20211216T151354_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19577_002_11SKU_20211218T214722_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19577_003_11SKU_20211218T214814_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19638_015_11SKU_20211222T201427_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19638_016_11SKU_20211222T201519_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19699_003_11SKU_20211226T183925_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19699_004_11SKU_20211226T184017_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19760_014_11SKU_20211230T170415_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19806_009_11SKU_20220102T161559_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19821_013_11SKU_20220103T152758_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20091_001_11SKU_20220121T005701_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20198_003_11SKU_20220127T223431_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20213_001_11SKU_20220128T214621_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20274_001_11SKU_20220201T201046_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20320_003_11SKU_20220204T192301_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20381_004_11SKU_20220208T174724_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20442_002_11SKU_20220212T161126_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20442_003_11SKU_20220212T161218_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20477_010_11SKU_20220214T224309_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20477_011_11SKU_20220214T224401_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20523_015_11SKU_20220217T215556_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20538_012_11SKU_20220218T210748_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20599_007_11SKU_20220222T193108_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20645_006_11SKU_20220225T184305_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20660_003_11SKU_20220226T175457_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20706_011_11SKU_20220301T170805_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20991_003_11SKU_20220320T015243_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21038_003_11SKU_20220323T010547_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21038_004_11SKU_20220323T010639_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21160_005_11SKU_20220330T215540_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21221_001_11SKU_20220403T201950_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21282_003_11SKU_20220407T184316_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21282_004_11SKU_20220407T184408_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21302_017_11SKU_20220409T020335_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21328_001_11SKU_20220410T175516_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21343_001_11SKU_20220411T170644_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21363_015_11SKU_20220413T002642_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21404_001_11SKU_20220415T153001_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21424_011_11SKU_20220416T224957_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21546_014_11SKU_20220424T193522_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21546_015_11SKU_20220424T193614_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21669_011_11SKU_20220502T162327_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21669_012_11SKU_20220502T162419_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21714_014_11SKU_20220505T153518_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21714_015_11SKU_20220505T153610_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21729_012_11SKU_20220506T144724_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21775_015_11SKU_20220509T135851_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21791_011_11SKU_20220510T131033_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21924_003_11SKU_20220519T023900_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21939_001_11SKU_20220520T015054_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21939_002_11SKU_20220520T015146_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21985_003_11SKU_20220523T010400_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22000_002_11SKU_20220524T001551_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22061_003_11SKU_20220527T224006_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22061_004_11SKU_20220527T224058_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22107_003_11SKU_20220530T215229_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22122_003_11SKU_20220531T210411_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22168_005_11SKU_20220603T201624_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22203_018_11SKU_20220606T024844_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22250_019_11SKU_20220609T020045_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22265_013_11SKU_20220610T011128_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22265_014_11SKU_20220610T011220_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22291_001_11SKU_20220611T170328_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22291_002_11SKU_20220611T170419_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22352_001_11SKU_20220615T152649_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22352_002_11SKU_20220615T152741_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22387_011_11SKU_20220617T215819_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22387_012_11SKU_20220617T215911_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22398_001_11SKU_20220618T143856_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22413_003_11SKU_20220619T135028_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22413_004_11SKU_20220619T135120_0700_01.zip']

Let’s run our zonal statistics analysis on each of the ECOSTRESS granules we have available, and produce a table of these statistics.

salt_marsh_ST = pd.DataFrame({}, columns=["datetime_solar", "type", "ST"])

for filename in L2T_LSTE_filenames:
    print(f"reading L2T LSTE file: {filename}")
    granule_ID = splitext(basename(filename))[0]
    URI = f"zip://{filename}!/{granule_ID}/{granule_ID}_LST.tif"
    ST_K_raster = rxr.open_rasterio(URI).squeeze('band', drop=True)
    ST_C_raster = ST_K_raster.copy()
    ST_C_raster.data = ST_K_raster.data - 273.15
    datetime_UTC = datetime.strptime(basename(filename).split("_")[-3], "%Y%m%dT%H%M%S")
    centroid_UTM = Point(np.nanmean(ST_K_raster.x), np.nanmean(ST_K_raster.y))
    centroid_latlon = transform(Transformer.from_crs(CRS, "EPSG:4326", always_xy=True).transform, centroid_UTM)
    datetime_solar = datetime_UTC + timedelta(hours=(np.radians(centroid_latlon.x) / np.pi * 12))
    ST_C_subset = ST_C_raster.rio.clip([box(xmin, ymin, xmax, ymax)])

    landcover_stats = pd.DataFrame(zonal_stats(
        landcover_UTM,
        ST_C_subset.data,
        affine=ST_C_subset.rio.transform(),
        nodata=np.nan,
        stats=["median"]
    ))

    landcover_stats["type"] = landcover_UTM["type"]
    landcover_stats["datetime_solar"] = datetime_solar
    landcover_stats["ST"] = landcover_stats["median"].apply(lambda value: np.nan if value is None else value)
    landcover_stats = landcover_stats[["datetime_solar", "type", "ST"]]
    salt_marsh_ST = pd.concat([salt_marsh_ST, landcover_stats])

salt_marsh_ST = salt_marsh_ST.dropna()
salt_marsh_ST
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_08825_001_11SKU_20200126T002103_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_08886_001_11SKU_20200129T224753_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09008_001_11SKU_20200206T194050_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09104_012_11SKU_20200213T004053_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09130_001_11SKU_20200214T163344_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09150_013_11SKU_20200215T235451_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09516_010_11SKU_20200310T143221_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09740_001_11SKU_20200325T005731_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09801_001_11SKU_20200328T232451_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09862_001_11SKU_20200401T215211_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_09923_001_11SKU_20200405T202021_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10019_010_11SKU_20200412T012318_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10060_001_11SKU_20200414T162940_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10080_015_11SKU_20200415T235114_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10121_001_11SKU_20200418T145755_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10141_013_11SKU_20200419T221907_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10182_001_11SKU_20200422T132414_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10202_012_11SKU_20200423T204504_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10324_012_11SKU_20200501T173635_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10655_001_11SKU_20200523T013719_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10716_001_11SKU_20200527T000255_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10777_001_11SKU_20200530T222828_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10838_001_11SKU_20200603T205400_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10899_001_11SKU_20200607T191919_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10919_012_11SKU_20200609T023948_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10934_013_11SKU_20200610T015203_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10980_012_11SKU_20200613T010521_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_10995_004_11SKU_20200614T001724_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11021_001_11SKU_20200615T161002_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11041_014_11SKU_20200616T233014_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11056_007_11SKU_20200617T224237_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11082_001_11SKU_20200619T143523_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11102_013_11SKU_20200620T215537_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11117_006_11SKU_20200621T210737_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11143_001_11SKU_20200623T130041_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11163_010_11SKU_20200624T202055_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11178_012_11SKU_20200625T193257_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11224_007_11SKU_20200628T184603_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11224_008_11SKU_20200628T184655_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11407_014_11SKU_20200710T140339_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11407_015_11SKU_20200710T140431_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11570_001_11SKU_20200721T015918_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11616_001_11SKU_20200724T011211_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11631_001_11SKU_20200725T002428_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11677_001_11SKU_20200727T233715_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11738_001_11SKU_20200731T220318_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11799_001_11SKU_20200804T202950_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11860_002_11SKU_20200808T185624_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11895_012_11SKU_20200811T012953_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11921_003_11SKU_20200812T172251_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11956_009_11SKU_20200814T235617_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_11982_002_11SKU_20200816T154913_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12043_002_11SKU_20200820T141537_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12078_012_11SKU_20200822T204904_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12139_005_11SKU_20200826T191453_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12200_006_11SKU_20200830T174050_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12200_007_11SKU_20200830T174142_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12261_006_11SKU_20200903T160702_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12261_007_11SKU_20200903T160754_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12322_008_11SKU_20200907T143314_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12322_009_11SKU_20200907T143406_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12531_003_11SKU_20200921T014818_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12592_001_11SKU_20200925T001530_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12653_004_11SKU_20200928T224329_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12668_005_11SKU_20200929T215616_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12714_004_11SKU_20201002T211124_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12729_003_11SKU_20201003T202421_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12775_004_11SKU_20201006T193901_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12790_005_11SKU_20201007T185136_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12836_003_11SKU_20201010T180517_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12871_012_11SKU_20201013T003732_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12871_013_11SKU_20201013T003824_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12897_003_11SKU_20201014T163113_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12912_003_11SKU_20201015T154331_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12932_012_11SKU_20201016T230328_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12932_013_11SKU_20201016T230421_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12993_012_11SKU_20201020T212919_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_12993_013_11SKU_20201020T213011_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13054_009_11SKU_20201024T195506_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13054_010_11SKU_20201024T195558_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13115_010_11SKU_20201028T182051_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13115_011_11SKU_20201028T182143_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13176_003_11SKU_20201101T164629_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13176_004_11SKU_20201101T164721_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13237_012_11SKU_20201105T151255_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13568_001_11SKU_20201126T231758_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13629_001_11SKU_20201130T214441_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13751_001_11SKU_20201208T183734_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13847_012_11SKU_20201214T233712_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13893_006_11SKU_20201217T225123_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13908_007_11SKU_20201218T220331_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13954_012_11SKU_20201221T211655_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_13969_013_11SKU_20201222T202946_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14015_008_11SKU_20201225T194306_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14076_009_11SKU_20201229T180922_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14091_012_11SKU_20201230T172204_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14137_011_11SKU_20210102T163522_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14152_005_11SKU_20210103T154810_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14483_003_11SKU_20210124T235211_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14544_003_11SKU_20210128T221939_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14666_003_11SKU_20210205T191410_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14727_004_11SKU_20210209T174124_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14747_011_11SKU_20210211T010216_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14788_003_11SKU_20210213T160839_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14808_002_11SKU_20210214T232930_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14823_011_11SKU_20210215T224228_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14884_009_11SKU_20210219T210839_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14884_010_11SKU_20210219T210931_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_14945_012_11SKU_20210223T193640_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15006_002_11SKU_20210227T180246_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15006_003_11SKU_20210227T180338_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15067_013_11SKU_20210303T163037_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15128_012_11SKU_20210307T145729_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15399_001_11SKU_20210325T003939_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15460_003_11SKU_20210328T230652_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15521_003_11SKU_20210401T213401_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15644_003_11SKU_20210409T182905_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15705_003_11SKU_20210413T165635_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15740_006_11SKU_20210415T232949_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15740_007_11SKU_20210415T233041_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15766_003_11SKU_20210417T152402_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15801_011_11SKU_20210419T215715_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15801_012_11SKU_20210419T215807_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15862_013_11SKU_20210423T202526_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15923_012_11SKU_20210427T185153_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15923_013_11SKU_20210427T185245_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15984_012_11SKU_20210501T171900_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_15984_013_11SKU_20210501T171952_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16045_012_11SKU_20210505T154652_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16271_003_11SKU_20210520T021358_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16317_003_11SKU_20210523T012832_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16332_001_11SKU_20210524T004111_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16378_004_11SKU_20210526T235552_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16393_004_11SKU_20210527T230830_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16439_002_11SKU_20210530T222305_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16454_004_11SKU_20210531T213545_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16501_003_11SKU_20210603T205023_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16516_003_11SKU_20210604T200301_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16551_012_11SKU_20210607T023615_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16562_004_11SKU_20210607T191736_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16577_004_11SKU_20210608T183014_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16623_005_11SKU_20210611T174439_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16638_005_11SKU_20210612T165722_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16658_016_11SKU_20210614T001803_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16700_001_11SKU_20210616T152428_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16720_016_11SKU_20210617T224508_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16735_011_11SKU_20210618T215733_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16781_013_11SKU_20210621T211207_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16781_014_11SKU_20210621T211259_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16796_003_11SKU_20210622T202434_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16807_005_11SKU_20210623T130548_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16842_007_11SKU_20210625T193923_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16842_008_11SKU_20210625T194015_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16857_009_11SKU_20210626T185220_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16903_015_11SKU_20210629T180745_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16918_011_11SKU_20210630T172039_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_16979_014_11SKU_20210704T154838_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17025_013_11SKU_20210707T150321_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17025_014_11SKU_20210707T150413_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17040_014_11SKU_20210708T141641_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17188_005_11SKU_20210718T030531_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17249_001_11SKU_20210722T013317_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17310_003_11SKU_20210726T000059_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17371_001_11SKU_20210729T222824_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17432_001_11SKU_20210802T205549_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17432_002_11SKU_20210802T205641_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17494_001_11SKU_20210806T192326_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17494_002_11SKU_20210806T192418_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17509_003_11SKU_20210807T183603_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17529_003_11SKU_20210809T015711_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17529_004_11SKU_20210809T015803_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17556_004_11SKU_20210810T175101_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17571_002_11SKU_20210811T170335_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17591_015_11SKU_20210813T002437_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17591_016_11SKU_20210813T002529_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17617_005_11SKU_20210814T161828_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17632_001_11SKU_20210815T153100_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17652_003_11SKU_20210816T225242_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17679_001_11SKU_20210818T144553_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17694_002_11SKU_20210819T135829_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17775_014_11SKU_20210824T194846_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17851_008_11SKU_20210829T173013_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17898_014_11SKU_20210901T164550_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17913_013_11SKU_20210902T155853_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17959_014_11SKU_20210905T151438_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_17974_003_11SKU_20210906T142728_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18183_002_11SKU_20210920T014841_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18244_002_11SKU_20210924T001802_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18305_005_11SKU_20210927T224557_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18366_005_11SKU_20211001T211315_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18366_006_11SKU_20211001T211407_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18381_003_11SKU_20211002T202552_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18381_004_11SKU_20211002T202644_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18427_004_11SKU_20211005T194033_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18427_005_11SKU_20211005T194125_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18488_005_11SKU_20211009T180754_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18488_006_11SKU_20211009T180845_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18503_003_11SKU_20211010T172028_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18503_004_11SKU_20211010T172120_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18523_014_11SKU_20211012T004126_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18523_015_11SKU_20211012T004218_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18550_001_11SKU_20211013T163533_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18565_003_11SKU_20211014T154818_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18565_004_11SKU_20211014T154910_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18585_014_11SKU_20211015T231014_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18611_005_11SKU_20211017T150348_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18626_003_11SKU_20211018T141630_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18646_015_11SKU_20211019T213747_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18646_016_11SKU_20211019T213839_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18707_010_11SKU_20211023T200631_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18769_011_11SKU_20211027T183419_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18784_013_11SKU_20211028T174624_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18830_002_11SKU_20211031T170113_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18830_003_11SKU_20211031T170205_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18845_013_11SKU_20211101T161406_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18891_015_11SKU_20211104T152907_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_18906_005_11SKU_20211105T144122_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19176_003_11SKU_20211123T002751_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19237_005_11SKU_20211126T225615_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19359_001_11SKU_20211204T195235_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19481_004_11SKU_20211212T164644_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19516_011_11SKU_20211214T232026_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19542_001_11SKU_20211216T151354_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19577_002_11SKU_20211218T214722_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19577_003_11SKU_20211218T214814_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19638_015_11SKU_20211222T201427_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19638_016_11SKU_20211222T201519_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19699_003_11SKU_20211226T183925_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19699_004_11SKU_20211226T184017_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19760_014_11SKU_20211230T170415_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19806_009_11SKU_20220102T161559_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_19821_013_11SKU_20220103T152758_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20091_001_11SKU_20220121T005701_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20198_003_11SKU_20220127T223431_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20213_001_11SKU_20220128T214621_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20274_001_11SKU_20220201T201046_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20320_003_11SKU_20220204T192301_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20381_004_11SKU_20220208T174724_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20442_002_11SKU_20220212T161126_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20442_003_11SKU_20220212T161218_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20477_010_11SKU_20220214T224309_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20477_011_11SKU_20220214T224401_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20523_015_11SKU_20220217T215556_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20538_012_11SKU_20220218T210748_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20599_007_11SKU_20220222T193108_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20645_006_11SKU_20220225T184305_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20660_003_11SKU_20220226T175457_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20706_011_11SKU_20220301T170805_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_20991_003_11SKU_20220320T015243_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21038_003_11SKU_20220323T010547_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21038_004_11SKU_20220323T010639_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21160_005_11SKU_20220330T215540_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21221_001_11SKU_20220403T201950_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21282_003_11SKU_20220407T184316_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21282_004_11SKU_20220407T184408_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21302_017_11SKU_20220409T020335_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21328_001_11SKU_20220410T175516_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21343_001_11SKU_20220411T170644_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21363_015_11SKU_20220413T002642_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21404_001_11SKU_20220415T153001_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21424_011_11SKU_20220416T224957_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21546_014_11SKU_20220424T193522_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21546_015_11SKU_20220424T193614_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21669_011_11SKU_20220502T162327_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21669_012_11SKU_20220502T162419_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21714_014_11SKU_20220505T153518_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21714_015_11SKU_20220505T153610_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21729_012_11SKU_20220506T144724_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21775_015_11SKU_20220509T135851_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21791_011_11SKU_20220510T131033_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21924_003_11SKU_20220519T023900_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21939_001_11SKU_20220520T015054_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21939_002_11SKU_20220520T015146_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_21985_003_11SKU_20220523T010400_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22000_002_11SKU_20220524T001551_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22061_003_11SKU_20220527T224006_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22061_004_11SKU_20220527T224058_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22107_003_11SKU_20220530T215229_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22122_003_11SKU_20220531T210411_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22168_005_11SKU_20220603T201624_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22203_018_11SKU_20220606T024844_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22250_019_11SKU_20220609T020045_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22265_013_11SKU_20220610T011128_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22265_014_11SKU_20220610T011220_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22291_001_11SKU_20220611T170328_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22291_002_11SKU_20220611T170419_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22352_001_11SKU_20220615T152649_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22352_002_11SKU_20220615T152741_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22387_011_11SKU_20220617T215819_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22387_012_11SKU_20220617T215911_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22398_001_11SKU_20220618T143856_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22413_003_11SKU_20220619T135028_0700_01.zip
reading L2T LSTE file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L2T_LSTE_22413_004_11SKU_20220619T135120_0700_01.zip
datetime_solar type ST
0 2020-01-25 16:22:20.533312 channel 13.709991
2 2020-01-25 16:22:20.533312 upland 13.649994
4 2020-01-25 16:22:20.533312 marsh 13.760010
0 2020-01-29 14:49:10.533312 channel 16.119995
1 2020-01-29 14:49:10.533312 salt flat 17.570007
... ... ... ...
0 2022-06-19 05:51:45.533312 channel 14.320007
1 2022-06-19 05:51:45.533312 salt flat 13.869995
2 2022-06-19 05:51:45.533312 upland 13.850006
3 2022-06-19 05:51:45.533312 pan 14.250000
4 2022-06-19 05:51:45.533312 marsh 14.250000

623 rows × 3 columns

Visualizing Distributions with Boxplots

Let’s examine the distribution of ECOSTRESS surface temperatures seen in the different land-cover types within the Carpinteria Salt Marsh. To visualize these distributions, we’re plotting them as boxplots. We’re using the seaborn library to generate these boxplots.

We tend to see cooler temperatures where water settles in the channel and warmer temperatures in the upland and salt flat areas, which are above the water and lack vegetation. Moderate temperatures are seen in the vegetated marsh and pan areas in between.

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    salt_marsh_ST_overall_median = salt_marsh_ST.groupby("type").median().reset_index()[["type", "ST"]].sort_values("ST")

fig, ax = plt.subplots(figsize=(FIG_WIDTH_IN, FIG_HEIGHT_IN))

sns.boxplot(
    data=salt_marsh_ST,
    x="type",
    y="ST",
    order=salt_marsh_ST_overall_median.type,
    palette=landcover_colors,
    ax=ax
)

ax.set(xlabel="Land Cover Type", ylabel="Median Surface Temperature (Celsius)")
yticks = range(int(np.nanmin(salt_marsh_ST.ST)), int(np.nanmax(salt_marsh_ST.ST)) + 2)
ax.set_yticks(yticks)
yticklabels = [f"{tick}°C" for tick in yticks]
ax.set_yticklabels(yticklabels)
plt.title("Carpinteria Salt Marsh Median ECOSTRESS Surface Temperature Boxplots by Land Cover")
plt.show()
plt.close(fig)

print(salt_marsh_ST_overall_median)

        type         ST
0    channel  20.170006
1      marsh  20.750000
2        pan  20.800003
4     upland  22.500015
3  salt flat  22.929993

Seasonal Agreggate Time-Series

Let’s examine a time-series of ECOSTRESS surface temperature. To make this time-series smooth, we’ll aggregate our zonal statistics by season.

salt_marsh_ST_seasonal = salt_marsh_ST.copy()
salt_marsh_ST_seasonal["season"] = salt_marsh_ST_seasonal.apply(
    lambda row: date(int(row.datetime_solar.year), int(((row.datetime_solar.month - 1) // 3) * 3 + 1), 1), axis=1)
salt_marsh_ST_seasonal = salt_marsh_ST_seasonal[["season", "type", "ST"]]
salt_marsh_ST_seasonal = salt_marsh_ST_seasonal.dropna().groupby(
    by=["season", "type"]).median().reset_index()
salt_marsh_ST_seasonal
season type ST
0 2020-01-01 channel 14.730011
1 2020-01-01 marsh 15.350006
2 2020-01-01 pan 16.570007
3 2020-01-01 salt flat 15.250015
4 2020-01-01 upland 15.300003
5 2020-04-01 channel 24.750000
6 2020-04-01 marsh 25.100006
7 2020-04-01 pan 25.450012
8 2020-04-01 salt flat 26.130005
9 2020-04-01 upland 26.010010
10 2020-07-01 channel 23.160004
11 2020-07-01 marsh 23.330017
12 2020-07-01 pan 24.209991
13 2020-07-01 salt flat 23.339996
14 2020-07-01 upland 25.669998
15 2020-10-01 channel 19.830002
16 2020-10-01 marsh 20.300003
17 2020-10-01 pan 20.270004
18 2020-10-01 salt flat 22.360016
19 2020-10-01 upland 21.650009
20 2021-01-01 channel 18.620010
21 2021-01-01 marsh 19.045013
22 2021-01-01 pan 19.559998
23 2021-01-01 salt flat 21.250000
24 2021-01-01 upland 21.685013
25 2021-04-01 channel 24.375015
26 2021-04-01 marsh 25.435005
27 2021-04-01 pan 25.030014
28 2021-04-01 salt flat 27.480011
29 2021-04-01 upland 28.165009
30 2021-07-01 channel 25.750015
31 2021-07-01 marsh 25.550018
32 2021-07-01 pan 26.090012
33 2021-07-01 salt flat 25.149994
34 2021-07-01 upland 25.119995
35 2021-10-01 channel 18.139999
36 2021-10-01 marsh 18.310013
37 2021-10-01 pan 19.529999
38 2021-10-01 salt flat 20.750015
39 2021-10-01 upland 18.520004
40 2022-01-01 channel 18.635002
41 2022-01-01 marsh 18.639999
42 2022-01-01 pan 17.950012
43 2022-01-01 salt flat 19.340012
44 2022-01-01 upland 20.160004
45 2022-04-01 channel 18.450012
46 2022-04-01 marsh 18.400009
47 2022-04-01 pan 18.929993
48 2022-04-01 salt flat 19.010010
49 2022-04-01 upland 18.835014

We’re using the seaborn package again to visualize this timeseries as a line-plot. In this line-plot, we can see that temperatures in the Carptineria Salt Marsh tend to drop in the Winter and rise in the Summer. Channel and marsh temperatures tend to be the coolest for much of the year, and upland and salt flat temperatures tend to be the warmest for much of the year.

fig, ax = plt.subplots(figsize=(FIG_WIDTH_IN, FIG_HEIGHT_IN))

sns.lineplot(
    data=salt_marsh_ST_seasonal,
    x="season",
    y="ST",
    hue="type",
    ax=ax
)

ax.set(xlabel="Season", ylabel="Seasonal Median Surface Temperature (Celsius)")
ax.set_yticks(range(int(min(salt_marsh_ST_seasonal.ST)), int(max(salt_marsh_ST_seasonal.ST)) + 1))

plt.legend(title="Marsh Land Type")
plt.title("Carpinteria Salt Marsh Seasonal Median ECOSTRESS Surface Temperature Timeline by Land Cover")
plt.show()
plt.close(fig)

ECOSTRESS Evapotranspiration

Now let’s repeat our time-series analysis using the ECOSTRESS evapotranspiration product. ECOSTRESS Collection 2 includes the JPL Evapotranspiration Ensemble (JET) product, which runs several models to create a balanced ET estimate. We’re searching through our set of downloaded ECOSTRESS files for L3T_JET granules using glob.

L3T_JET_filenames = sorted(glob(join(DATA_DIRECTORY, "*_L3T_JET_*.zip")))
L3T_JET_filenames
['../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_08886_001_11SKU_20200129T224753_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_09008_001_11SKU_20200206T194050_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_09801_001_11SKU_20200328T232451_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_09862_001_11SKU_20200401T215211_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_09923_001_11SKU_20200405T202021_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10080_015_11SKU_20200415T235114_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10121_001_11SKU_20200418T145755_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10141_013_11SKU_20200419T221907_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10202_012_11SKU_20200423T204504_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10324_012_11SKU_20200501T173635_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10716_001_11SKU_20200527T000255_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10777_001_11SKU_20200530T222828_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10838_001_11SKU_20200603T205400_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10899_001_11SKU_20200607T191919_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10980_012_11SKU_20200613T010521_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10995_004_11SKU_20200614T001724_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11021_001_11SKU_20200615T161002_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11041_014_11SKU_20200616T233014_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11056_007_11SKU_20200617T224237_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11082_001_11SKU_20200619T143523_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11102_013_11SKU_20200620T215537_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11117_006_11SKU_20200621T210737_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11163_010_11SKU_20200624T202055_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11178_012_11SKU_20200625T193257_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11224_007_11SKU_20200628T184603_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11224_008_11SKU_20200628T184655_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11616_001_11SKU_20200724T011211_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11631_001_11SKU_20200725T002428_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11677_001_11SKU_20200727T233715_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11738_001_11SKU_20200731T220318_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11799_001_11SKU_20200804T202950_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11860_002_11SKU_20200808T185624_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11921_003_11SKU_20200812T172251_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11956_009_11SKU_20200814T235617_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11982_002_11SKU_20200816T154913_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12200_006_11SKU_20200830T174050_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12200_007_11SKU_20200830T174142_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12261_006_11SKU_20200903T160702_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12261_007_11SKU_20200903T160754_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12653_004_11SKU_20200928T224329_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12714_004_11SKU_20201002T211124_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12775_004_11SKU_20201006T193901_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12790_005_11SKU_20201007T185136_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12836_003_11SKU_20201010T180517_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12897_003_11SKU_20201014T163113_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12912_003_11SKU_20201015T154331_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12932_012_11SKU_20201016T230328_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12932_013_11SKU_20201016T230421_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12993_012_11SKU_20201020T212919_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12993_013_11SKU_20201020T213011_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13054_009_11SKU_20201024T195506_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13054_010_11SKU_20201024T195558_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13115_010_11SKU_20201028T182051_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13115_011_11SKU_20201028T182143_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13176_003_11SKU_20201101T164629_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13176_004_11SKU_20201101T164721_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13629_001_11SKU_20201130T214441_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13751_001_11SKU_20201208T183734_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13908_007_11SKU_20201218T220331_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13954_012_11SKU_20201221T211655_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13969_013_11SKU_20201222T202946_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14015_008_11SKU_20201225T194306_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14076_009_11SKU_20201229T180922_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14091_012_11SKU_20201230T172204_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14666_003_11SKU_20210205T191410_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14808_002_11SKU_20210214T232930_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14823_011_11SKU_20210215T224228_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14884_010_11SKU_20210219T210931_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14945_012_11SKU_20210223T193640_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15006_003_11SKU_20210227T180338_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15460_003_11SKU_20210328T230652_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15521_003_11SKU_20210401T213401_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15644_003_11SKU_20210409T182905_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15705_003_11SKU_20210413T165635_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15740_006_11SKU_20210415T232949_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15740_007_11SKU_20210415T233041_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15766_003_11SKU_20210417T152402_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15801_011_11SKU_20210419T215715_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15801_012_11SKU_20210419T215807_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15862_013_11SKU_20210423T202526_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15923_012_11SKU_20210427T185153_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15923_013_11SKU_20210427T185245_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15984_013_11SKU_20210501T171952_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16045_012_11SKU_20210505T154652_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16332_001_11SKU_20210524T004111_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16378_004_11SKU_20210526T235552_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16393_004_11SKU_20210527T230830_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16439_002_11SKU_20210530T222305_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16454_004_11SKU_20210531T213545_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16501_003_11SKU_20210603T205023_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16516_003_11SKU_20210604T200301_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16562_004_11SKU_20210607T191736_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16577_004_11SKU_20210608T183014_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16623_005_11SKU_20210611T174439_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16638_005_11SKU_20210612T165722_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16658_016_11SKU_20210614T001803_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16700_001_11SKU_20210616T152428_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16735_011_11SKU_20210618T215733_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16781_013_11SKU_20210621T211207_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16796_003_11SKU_20210622T202434_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16842_007_11SKU_20210625T193923_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16842_008_11SKU_20210625T194015_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16857_009_11SKU_20210626T185220_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16903_015_11SKU_20210629T180745_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16918_011_11SKU_20210630T172039_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16979_014_11SKU_20210704T154838_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17025_013_11SKU_20210707T150321_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17025_014_11SKU_20210707T150413_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17310_003_11SKU_20210726T000059_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17371_001_11SKU_20210729T222824_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17432_001_11SKU_20210802T205549_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17432_002_11SKU_20210802T205641_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17494_001_11SKU_20210806T192326_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17509_003_11SKU_20210807T183603_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17556_004_11SKU_20210810T175101_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17591_016_11SKU_20210813T002529_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17632_001_11SKU_20210815T153100_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17652_003_11SKU_20210816T225242_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17775_014_11SKU_20210824T194846_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17898_014_11SKU_20210901T164550_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17913_013_11SKU_20210902T155853_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18305_005_11SKU_20210927T224557_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18366_005_11SKU_20211001T211315_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18366_006_11SKU_20211001T211407_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18427_004_11SKU_20211005T194033_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18427_005_11SKU_20211005T194125_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18488_005_11SKU_20211009T180754_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18488_006_11SKU_20211009T180845_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18503_003_11SKU_20211010T172028_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18550_001_11SKU_20211013T163533_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18565_003_11SKU_20211014T154818_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18585_014_11SKU_20211015T231014_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18646_015_11SKU_20211019T213747_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18646_016_11SKU_20211019T213839_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18707_010_11SKU_20211023T200631_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18769_011_11SKU_20211027T183419_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18830_002_11SKU_20211031T170113_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18830_003_11SKU_20211031T170205_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20198_003_11SKU_20220127T223431_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20213_001_11SKU_20220128T214621_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20320_003_11SKU_20220204T192301_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20381_004_11SKU_20220208T174724_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20477_011_11SKU_20220214T224401_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20523_015_11SKU_20220217T215556_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20538_012_11SKU_20220218T210748_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20645_006_11SKU_20220225T184305_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20660_003_11SKU_20220226T175457_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20706_011_11SKU_20220301T170805_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21160_005_11SKU_20220330T215540_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21221_001_11SKU_20220403T201950_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21282_003_11SKU_20220407T184316_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21282_004_11SKU_20220407T184408_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21343_001_11SKU_20220411T170644_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21363_015_11SKU_20220413T002642_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21404_001_11SKU_20220415T153001_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21424_011_11SKU_20220416T224957_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21546_014_11SKU_20220424T193522_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21546_015_11SKU_20220424T193614_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21669_011_11SKU_20220502T162327_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21714_014_11SKU_20220505T153518_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21714_015_11SKU_20220505T153610_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21729_012_11SKU_20220506T144724_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21985_003_11SKU_20220523T010400_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22000_002_11SKU_20220524T001551_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22107_003_11SKU_20220530T215229_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22122_003_11SKU_20220531T210411_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22168_005_11SKU_20220603T201624_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22265_013_11SKU_20220610T011128_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22265_014_11SKU_20220610T011220_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22291_001_11SKU_20220611T170328_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22291_002_11SKU_20220611T170419_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22352_001_11SKU_20220615T152649_0700_01.zip',
 '../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22387_011_11SKU_20220617T215819_0700_01.zip']

We’re running our zonal statistics time-series analysis again, but now loading daily evapotranspiration (ET) in millimeters per day from the L3T JET product.

salt_marsh_ET = pd.DataFrame({}, columns=["datetime_solar", "type", "ET"])

for filename in L3T_JET_filenames:
    print(f"reading L3T JET file: {filename}")
    granule_ID = splitext(basename(filename))[0]
    URI = f"zip://{filename}!/{granule_ID}/{granule_ID}_ETdaily.tif"
    ET_raster = rxr.open_rasterio(URI).squeeze('band', drop=True)
    datetime_UTC = datetime.strptime(
        basename(filename).split("_")[-3], "%Y%m%dT%H%M%S")
    centroid_UTM = Point(np.nanmean(ST_K_raster.x), np.nanmean(ST_K_raster.y))
    centroid_latlon = transform(Transformer.from_crs(
        CRS, "EPSG:4326", always_xy=True).transform, centroid_UTM)
    datetime_solar = datetime_UTC + \
        timedelta(hours=(np.radians(centroid_latlon.x) / np.pi * 12))
    ET_subset = ET_raster.rio.clip([box(xmin, ymin, xmax, ymax)])

    landcover_stats = pd.DataFrame(zonal_stats(
        landcover_UTM,
        ET_subset.data,
        affine=ET_subset.rio.transform(),
        nodata=np.nan,
        stats=["median"]
    ))

    landcover_stats["type"] = landcover_UTM["type"]
    landcover_stats["datetime_solar"] = datetime_solar
    landcover_stats["ET"] = landcover_stats["median"].apply(lambda value: np.nan if value is None or value == 0 else value)
    landcover_stats = landcover_stats[["datetime_solar", "type", "ET"]]
    salt_marsh_ET = pd.concat([salt_marsh_ET, landcover_stats])

salt_marsh_ET = salt_marsh_ET.dropna()
salt_marsh_ET
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_08886_001_11SKU_20200129T224753_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_09008_001_11SKU_20200206T194050_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_09801_001_11SKU_20200328T232451_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_09862_001_11SKU_20200401T215211_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_09923_001_11SKU_20200405T202021_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10080_015_11SKU_20200415T235114_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10121_001_11SKU_20200418T145755_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10141_013_11SKU_20200419T221907_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10202_012_11SKU_20200423T204504_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10324_012_11SKU_20200501T173635_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10716_001_11SKU_20200527T000255_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10777_001_11SKU_20200530T222828_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10838_001_11SKU_20200603T205400_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10899_001_11SKU_20200607T191919_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10980_012_11SKU_20200613T010521_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_10995_004_11SKU_20200614T001724_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11021_001_11SKU_20200615T161002_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11041_014_11SKU_20200616T233014_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11056_007_11SKU_20200617T224237_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11082_001_11SKU_20200619T143523_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11102_013_11SKU_20200620T215537_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11117_006_11SKU_20200621T210737_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11163_010_11SKU_20200624T202055_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11178_012_11SKU_20200625T193257_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11224_007_11SKU_20200628T184603_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11224_008_11SKU_20200628T184655_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11616_001_11SKU_20200724T011211_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11631_001_11SKU_20200725T002428_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11677_001_11SKU_20200727T233715_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11738_001_11SKU_20200731T220318_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11799_001_11SKU_20200804T202950_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11860_002_11SKU_20200808T185624_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11921_003_11SKU_20200812T172251_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11956_009_11SKU_20200814T235617_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_11982_002_11SKU_20200816T154913_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12200_006_11SKU_20200830T174050_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12200_007_11SKU_20200830T174142_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12261_006_11SKU_20200903T160702_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12261_007_11SKU_20200903T160754_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12653_004_11SKU_20200928T224329_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12714_004_11SKU_20201002T211124_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12775_004_11SKU_20201006T193901_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12790_005_11SKU_20201007T185136_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12836_003_11SKU_20201010T180517_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12897_003_11SKU_20201014T163113_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12912_003_11SKU_20201015T154331_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12932_012_11SKU_20201016T230328_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12932_013_11SKU_20201016T230421_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12993_012_11SKU_20201020T212919_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_12993_013_11SKU_20201020T213011_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13054_009_11SKU_20201024T195506_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13054_010_11SKU_20201024T195558_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13115_010_11SKU_20201028T182051_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13115_011_11SKU_20201028T182143_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13176_003_11SKU_20201101T164629_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13176_004_11SKU_20201101T164721_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13629_001_11SKU_20201130T214441_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13751_001_11SKU_20201208T183734_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13908_007_11SKU_20201218T220331_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13954_012_11SKU_20201221T211655_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_13969_013_11SKU_20201222T202946_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14015_008_11SKU_20201225T194306_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14076_009_11SKU_20201229T180922_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14091_012_11SKU_20201230T172204_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14666_003_11SKU_20210205T191410_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14808_002_11SKU_20210214T232930_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14823_011_11SKU_20210215T224228_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14884_010_11SKU_20210219T210931_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_14945_012_11SKU_20210223T193640_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15006_003_11SKU_20210227T180338_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15460_003_11SKU_20210328T230652_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15521_003_11SKU_20210401T213401_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15644_003_11SKU_20210409T182905_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15705_003_11SKU_20210413T165635_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15740_006_11SKU_20210415T232949_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15740_007_11SKU_20210415T233041_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15766_003_11SKU_20210417T152402_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15801_011_11SKU_20210419T215715_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15801_012_11SKU_20210419T215807_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15862_013_11SKU_20210423T202526_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15923_012_11SKU_20210427T185153_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15923_013_11SKU_20210427T185245_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_15984_013_11SKU_20210501T171952_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16045_012_11SKU_20210505T154652_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16332_001_11SKU_20210524T004111_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16378_004_11SKU_20210526T235552_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16393_004_11SKU_20210527T230830_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16439_002_11SKU_20210530T222305_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16454_004_11SKU_20210531T213545_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16501_003_11SKU_20210603T205023_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16516_003_11SKU_20210604T200301_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16562_004_11SKU_20210607T191736_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16577_004_11SKU_20210608T183014_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16623_005_11SKU_20210611T174439_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16638_005_11SKU_20210612T165722_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16658_016_11SKU_20210614T001803_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16700_001_11SKU_20210616T152428_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16735_011_11SKU_20210618T215733_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16781_013_11SKU_20210621T211207_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16796_003_11SKU_20210622T202434_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16842_007_11SKU_20210625T193923_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16842_008_11SKU_20210625T194015_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16857_009_11SKU_20210626T185220_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16903_015_11SKU_20210629T180745_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16918_011_11SKU_20210630T172039_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_16979_014_11SKU_20210704T154838_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17025_013_11SKU_20210707T150321_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17025_014_11SKU_20210707T150413_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17310_003_11SKU_20210726T000059_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17371_001_11SKU_20210729T222824_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17432_001_11SKU_20210802T205549_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17432_002_11SKU_20210802T205641_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17494_001_11SKU_20210806T192326_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17509_003_11SKU_20210807T183603_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17556_004_11SKU_20210810T175101_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17591_016_11SKU_20210813T002529_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17632_001_11SKU_20210815T153100_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17652_003_11SKU_20210816T225242_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17775_014_11SKU_20210824T194846_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17898_014_11SKU_20210901T164550_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_17913_013_11SKU_20210902T155853_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18305_005_11SKU_20210927T224557_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18366_005_11SKU_20211001T211315_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18366_006_11SKU_20211001T211407_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18427_004_11SKU_20211005T194033_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18427_005_11SKU_20211005T194125_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18488_005_11SKU_20211009T180754_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18488_006_11SKU_20211009T180845_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18503_003_11SKU_20211010T172028_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18550_001_11SKU_20211013T163533_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18565_003_11SKU_20211014T154818_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18585_014_11SKU_20211015T231014_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18646_015_11SKU_20211019T213747_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18646_016_11SKU_20211019T213839_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18707_010_11SKU_20211023T200631_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18769_011_11SKU_20211027T183419_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18830_002_11SKU_20211031T170113_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_18830_003_11SKU_20211031T170205_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20198_003_11SKU_20220127T223431_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20213_001_11SKU_20220128T214621_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20320_003_11SKU_20220204T192301_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20381_004_11SKU_20220208T174724_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20477_011_11SKU_20220214T224401_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20523_015_11SKU_20220217T215556_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20538_012_11SKU_20220218T210748_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20645_006_11SKU_20220225T184305_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20660_003_11SKU_20220226T175457_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_20706_011_11SKU_20220301T170805_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21160_005_11SKU_20220330T215540_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21221_001_11SKU_20220403T201950_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21282_003_11SKU_20220407T184316_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21282_004_11SKU_20220407T184408_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21343_001_11SKU_20220411T170644_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21363_015_11SKU_20220413T002642_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21404_001_11SKU_20220415T153001_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21424_011_11SKU_20220416T224957_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21546_014_11SKU_20220424T193522_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21546_015_11SKU_20220424T193614_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21669_011_11SKU_20220502T162327_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21714_014_11SKU_20220505T153518_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21714_015_11SKU_20220505T153610_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21729_012_11SKU_20220506T144724_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_21985_003_11SKU_20220523T010400_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22000_002_11SKU_20220524T001551_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22107_003_11SKU_20220530T215229_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22122_003_11SKU_20220531T210411_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22168_005_11SKU_20220603T201624_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22265_013_11SKU_20220610T011128_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22265_014_11SKU_20220610T011220_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22291_001_11SKU_20220611T170328_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22291_002_11SKU_20220611T170419_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22352_001_11SKU_20220615T152649_0700_01.zip
reading L3T JET file: ../data/Carpinteria ECOSTRESS Collection 2/ECOv002_L3T_JET_22387_011_11SKU_20220617T215819_0700_01.zip
datetime_solar type ET
0 2020-01-29 14:49:10.533312 channel 1.399643
1 2020-01-29 14:49:10.533312 salt flat 1.397873
2 2020-01-29 14:49:10.533312 upland 0.916689
3 2020-01-29 14:49:10.533312 pan 0.717082
4 2020-01-29 14:49:10.533312 marsh 1.398733
... ... ... ...
0 2022-06-15 07:28:06.533312 channel 0.250191
1 2022-06-15 07:28:06.533312 salt flat 0.239784
2 2022-06-15 07:28:06.533312 upland 0.184796
3 2022-06-15 07:28:06.533312 pan 0.264177
4 2022-06-15 07:28:06.533312 marsh 0.293362

351 rows × 3 columns

Now let’s produce seaborn box-plots again to visualize the distribution of ECOSTRESS evapotranspiration. The non-vegetated upland and salt flat areas tend to be the driest, while the channel and marsh areas tend to be the wettest.

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    salt_marsh_ET_overall_median = salt_marsh_ET.groupby("type").median().reset_index()[["type", "ET"]].sort_values("ET")

fig, ax = plt.subplots(figsize=(FIG_WIDTH_IN, FIG_HEIGHT_IN))

sns.boxplot(
    data=salt_marsh_ET,
    x="type",
    y="ET",
    order=salt_marsh_ET_overall_median.type,
    palette=landcover_colors,
    ax=ax
)

ax.set(xlabel="Land Cover Type", ylabel="Median Daily Evapotranspiration (mm)")
yticks = np.arange(np.round(np.nanmin(salt_marsh_ET.ET)), np.round(np.nanmax(salt_marsh_ET.ET)) + 0.2, 0.1)
ax.set_yticks(yticks)
yticklabels = [f"{tick:.1f} mm" for tick in yticks]
ax.set_yticklabels(yticklabels)
plt.title("Carpinteria Salt Marsh Median ECOSTRESS Daily Evapotranspiration Boxplots by Land Cover")
plt.show()
plt.close(fig)
print(salt_marsh_ET_overall_median)

        type        ET
4     upland  0.711236
3  salt flat  0.788825
2        pan  0.815282
0    channel  0.868172
1      marsh  0.901812

Let’s create another seasonal aggregate, now for ECOSTRESS evapotranspiration.

salt_marsh_ET_seasonal = salt_marsh_ET.copy()
salt_marsh_ET_seasonal["season"] = salt_marsh_ET_seasonal.apply(
    lambda row: date(int(row.datetime_solar.year), int(((row.datetime_solar.month - 1) // 3) * 3 + 1), 1), axis=1)
salt_marsh_ET_seasonal = salt_marsh_ET_seasonal[["season", "type", "ET"]]
salt_marsh_ET_seasonal = salt_marsh_ET_seasonal.dropna().groupby(
    by=["season", "type"]).median().reset_index()
salt_marsh_ET_seasonal
season type ET
0 2020-01-01 channel 1.227225
1 2020-01-01 marsh 1.286527
2 2020-01-01 pan 0.921168
3 2020-01-01 salt flat 1.149637
4 2020-01-01 upland 0.923251
5 2020-04-01 channel 0.759676
6 2020-04-01 marsh 0.770015
7 2020-04-01 pan 0.800767
8 2020-04-01 salt flat 0.857468
9 2020-04-01 upland 0.865953
10 2020-07-01 channel 0.128590
11 2020-07-01 marsh 0.453294
12 2020-07-01 pan 0.113739
13 2020-07-01 salt flat 0.583058
14 2020-07-01 upland 0.591018
15 2020-10-01 channel 1.223136
16 2020-10-01 marsh 1.302847
17 2020-10-01 pan 1.272168
18 2020-10-01 salt flat 0.976382
19 2020-10-01 upland 0.875343
20 2021-01-01 channel 0.756897
21 2021-01-01 marsh 0.806194
22 2021-01-01 pan 0.758436
23 2021-01-01 salt flat 0.654631
24 2021-01-01 upland 0.601155
25 2021-04-01 channel 0.814166
26 2021-04-01 marsh 0.840614
27 2021-04-01 pan 0.759423
28 2021-04-01 salt flat 0.466992
29 2021-04-01 upland 0.440456
30 2021-07-01 channel 0.572832
31 2021-07-01 marsh 0.505778
32 2021-07-01 pan 0.657233
33 2021-07-01 salt flat 0.477120
34 2021-07-01 upland 0.409149
35 2021-10-01 channel 0.918620
36 2021-10-01 marsh 0.953667
37 2021-10-01 pan 0.898891
38 2021-10-01 salt flat 0.792005
39 2021-10-01 upland 0.750178
40 2022-01-01 channel 1.051454
41 2022-01-01 marsh 1.089001
42 2022-01-01 pan 1.109546
43 2022-01-01 salt flat 1.048244
44 2022-01-01 upland 1.011036
45 2022-04-01 channel 0.524753
46 2022-04-01 marsh 0.558062
47 2022-04-01 pan 0.565946
48 2022-04-01 salt flat 0.332552
49 2022-04-01 upland 0.323609

We’re using a seaborn line-plot again to visualize the seasonal aggregate of ECOSTRESS evapotranspiration by land-cover type. The channel and pan areas become dry in the heat of the Summer but then become wet again in the Autumn.

fig, ax = plt.subplots(figsize=(FIG_WIDTH_IN, FIG_HEIGHT_IN))

sns.lineplot(
    data=salt_marsh_ET_seasonal,
    x="season",
    y="ET",
    hue="type",
    ax=ax
)

ax.set(xlabel="Season", ylabel="Seasonal Median Daily Evapotranspiration (mm)")
yticks = np.arange(np.round(np.nanmin(salt_marsh_ET_seasonal.ET), 1), np.round(np.nanmax(salt_marsh_ET_seasonal.ET), 1) + 0.1, 0.1)
ax.set_yticks(yticks)
yticklabels = [f"{tick:.1f} mm" for tick in yticks]
ax.set_yticklabels(yticklabels)
plt.legend(title="Marsh Land Type")
plt.title("Carpinteria Salt Marsh Seasonal Median ECOSTRESS Evapotranspiration Timeline by Land Cover")
plt.show()
plt.close(fig)

Relationship Between Surface Temperature and Evapotranspiration

Now let’s compare the seasonal time-series of surface temperature and evapotranspiration. First we’re merging the surface temperature and evapotranspiration tables we’re produced into a single table using pandas.

salt_marsh_seasonal = pd.merge(salt_marsh_ST_seasonal, salt_marsh_ET_seasonal, how="inner").dropna().groupby(["season", "type"]).median().reset_index()
salt_marsh_seasonal
season type ST ET
0 2020-01-01 channel 14.730011 1.227225
1 2020-01-01 marsh 15.350006 1.286527
2 2020-01-01 pan 16.570007 0.921168
3 2020-01-01 salt flat 15.250015 1.149637
4 2020-01-01 upland 15.300003 0.923251
5 2020-04-01 channel 24.750000 0.759676
6 2020-04-01 marsh 25.100006 0.770015
7 2020-04-01 pan 25.450012 0.800767
8 2020-04-01 salt flat 26.130005 0.857468
9 2020-04-01 upland 26.010010 0.865953
10 2020-07-01 channel 23.160004 0.128590
11 2020-07-01 marsh 23.330017 0.453294
12 2020-07-01 pan 24.209991 0.113739
13 2020-07-01 salt flat 23.339996 0.583058
14 2020-07-01 upland 25.669998 0.591018
15 2020-10-01 channel 19.830002 1.223136
16 2020-10-01 marsh 20.300003 1.302847
17 2020-10-01 pan 20.270004 1.272168
18 2020-10-01 salt flat 22.360016 0.976382
19 2020-10-01 upland 21.650009 0.875343
20 2021-01-01 channel 18.620010 0.756897
21 2021-01-01 marsh 19.045013 0.806194
22 2021-01-01 pan 19.559998 0.758436
23 2021-01-01 salt flat 21.250000 0.654631
24 2021-01-01 upland 21.685013 0.601155
25 2021-04-01 channel 24.375015 0.814166
26 2021-04-01 marsh 25.435005 0.840614
27 2021-04-01 pan 25.030014 0.759423
28 2021-04-01 salt flat 27.480011 0.466992
29 2021-04-01 upland 28.165009 0.440456
30 2021-07-01 channel 25.750015 0.572832
31 2021-07-01 marsh 25.550018 0.505778
32 2021-07-01 pan 26.090012 0.657233
33 2021-07-01 salt flat 25.149994 0.477120
34 2021-07-01 upland 25.119995 0.409149
35 2021-10-01 channel 18.139999 0.918620
36 2021-10-01 marsh 18.310013 0.953667
37 2021-10-01 pan 19.529999 0.898891
38 2021-10-01 salt flat 20.750015 0.792005
39 2021-10-01 upland 18.520004 0.750178
40 2022-01-01 channel 18.635002 1.051454
41 2022-01-01 marsh 18.639999 1.089001
42 2022-01-01 pan 17.950012 1.109546
43 2022-01-01 salt flat 19.340012 1.048244
44 2022-01-01 upland 20.160004 1.011036
45 2022-04-01 channel 18.450012 0.524753
46 2022-04-01 marsh 18.400009 0.558062
47 2022-04-01 pan 18.929993 0.565946
48 2022-04-01 salt flat 19.010010 0.332552
49 2022-04-01 upland 18.835014 0.323609

Let’s compare the seasonal timelines of ECOSTRESS surface temperature and evapotranspiration with one last seaborn line-plot. We’re plotting these lines together with a shared x axis for the season and separate y axes to compare temperature in Celsius to evapotranspiration in millimeters per day. We see a consistent and complementary seasonal cycle between these two variables, with cool temperatures and high evapotranspiration in the Winter and warm temperatures and low evapotranspiration in the Summer.

fig, ax = plt.subplots(figsize=(FIG_WIDTH_IN, FIG_HEIGHT_IN))
ax.set(xlabel="Season", ylabel="Seasonal Median Surface Temperature (Celsius)")
ax.grid(True)
yticks = np.arange(np.round(np.nanmin(salt_marsh_seasonal.ST)), np.round(np.nanmax(salt_marsh_seasonal.ST)))
ax.set_yticks(yticks)
ax.set_yticklabels([f"{int(tick)} °C" for tick in yticks])

sns.lineplot(
    data=salt_marsh_seasonal,
    x="season",
    y="ST",
    color="red",
    ax=ax,
    label="Surface Temperature"
)

plt.legend(loc="upper left")
ax2 = ax.twinx()
ax2.set(ylabel="Seasonal Median Daily Evapotranspiration (mm)")
ax2.grid(False)
yticks = np.arange(np.round(np.nanmin(salt_marsh_seasonal.ET), 1), np.round(np.nanmax(salt_marsh_seasonal.ET), 1), 0.1)
ax2.set_yticks(yticks)
ax2.set_yticklabels([f"{tick:0.1f} mm" for tick in yticks])

sns.lineplot(
    data=salt_marsh_seasonal,
    x="season",
    y="ET",
    color="blue",
    ax=ax2,
    label="Evapotranspiration"
)

plt.legend(loc="upper right")
plt.title("Carpinteria Salt Marsh Seasonal Median ECOSTRESS Surface Temperature & Evapotranspiration Timeline")
plt.show()
plt.close(fig)

Finally, let’s visualize this inverse relationship between surface temperature and evapotranspiration with a scatter-plot, again using seaborn. The surface temperature is the x-axis and the evapotranspiration is the y-axis. In this scatter of points, we see a roughly linear relationship from cool and wet points in the upper left to warm and dry points in the lower right. We’re using regplot to plot this trend-line.

fig, ax = plt.subplots(figsize=(FIG_WIDTH_IN, FIG_HEIGHT_IN))
xticks = np.arange(np.round(np.nanmin(salt_marsh_seasonal.ST)), np.round(np.nanmax(salt_marsh_seasonal.ST)) + 1)
ax.set_xticks(xticks)
ax.set_xticklabels([f"{int(tick)} °C" for tick in xticks])
yticks = np.arange(np.round(np.nanmin(salt_marsh_seasonal.ET), 1), np.round(np.nanmax(salt_marsh_seasonal.ET), 1) + 0.1, 0.1)
ax.set_yticks(yticks)
ax.set_yticklabels([f"{tick:0.1f} mm" for tick in yticks])

sns.scatterplot(
    data=salt_marsh_seasonal,
    x="ST",
    y="ET",
    hue="type",
    palette=landcover_colors,
    edgecolor="black",
    linewidth=1,
    ax=ax
)

sns.regplot(
    data=salt_marsh_seasonal,
    x="ST",
    y="ET",
    scatter=False,
    color="gray",
    ax=ax
)

ax.set(xlabel="Seasonal Median Surface Temperature (Celsius)", ylabel="Seasonal Median Daily Evapotranspiration (mm)")
plt.legend(title="Marsh Land Type")
plt.title("Carpinteria Salt Marsh Seasonal Surface Temperature and Evapotranspiration Scatterplot")
plt.show()
plt.close(fig)

To quantify this inverse relationship, first we’ll calculate the correlation between these two variables using numpy. We see a strong inverse relationship between seasonally aggregated ECOSTRESS surface temperature and evapotranspiration in the Carpinteria Salt Marsh with a correlation coefficient of -0.49.

np.round(np.corrcoef(x=salt_marsh_seasonal.ST, y=salt_marsh_seasonal.ET)[0][1], 2)
-0.49